#pragma once
#include<iostream>
#include<fstream>
#include"payment.h"
#include "nlohmann/json.hpp"
using namespace std;



// �û��ļ�������
class userFileManager {
private:
    string filename;

public:
    userFileManager(string fname) : filename(fname) {}

    // �ļ����
    void clearFile();

    // ��JSON�ļ���ȡ�����û�����ÿ��ֻ���ÿ���ļ���Ӧ�Ķ�������ļ��Ķ�ȡ
    void readInAlluser();

    // ���û��洢��JSON�ļ�
    void storeInuser(user& obj);

    // ���������û���JSON�ļ�
    void saveAllUsers();
};


//��Ʒ�ļ�������
class productFileManager{
private:
    string filename;
public:
    productFileManager(string fname):filename(fname){}

    //�ļ����
    void clearFile();

    //����������Ʒ
    void readInAllProducts();

    //�洢ĳһ����Ʒ
    void storeInProduct(product& obj);

    //����������Ʒ��Ϣ
    void saveAllProducts();
    
};




//�����ļ�����
class orderFileManager {
private:
    std::string filename;
public:
    //��ʼ��
    orderFileManager(string fname):filename(fname){}
    //�������ж���
    void saveAllOrders();


    //�������ж���
    void loadAllOrders();
};